/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor....*
 */
package edu.ucsur.tp.dao.factories;

import ComponenteDatos.CategoriaDAO;
import ComponenteDatos.ClienteDAO;
import ComponenteDatos.CompraDAO;
import ComponenteDatos.ContadoDAO;
import ComponenteDatos.CreditoDAO;
import ComponenteDatos.CronogramaPagoDAO;
import ComponenteDatos.PersonalDAO;
import ComponenteDatos.ProductoDAO;
import ComponenteDatos.ProformaDAO;
import ComponenteDatos.ProveedorDAO;
import ComponenteDatos.TipoDocumentoDAO;
import ComponenteDatos.TransaccionDAO;
import ComponenteDatos.UsuarioDAO;
import ComponenteDatos.VentaDAO;

public abstract class DAOFactory {

  public static final int TEMP_DATA = 1;
  public static final int MY_SQL = 2;
  public static final int ORACLE = 3;
  
  public static DAOFactory getInstance(int daoType) {
    switch (daoType) {
      case TEMP_DATA:
        return new TemporalDAOFactory();
      case MY_SQL:
        return new MySqlDAOFactory();
      case ORACLE:
        return null;
      default:
        return null;
    }
  }
  
  public abstract CategoriaDAO getCategoria();
  
  public abstract ClienteDAO getCliente();
  
  public abstract CompraDAO getCompra();
  
  public abstract ContadoDAO getContado();
  
  public abstract CreditoDAO getCredito();
  
  public abstract CronogramaPagoDAO getCronogramaPago();
  
  public abstract PersonalDAO getPersonal();
  
  public abstract ProductoDAO getProducto();
  
  public abstract ProformaDAO getProforma();
  
  public abstract ProveedorDAO getProveedor();
  
  public abstract TipoDocumentoDAO getTipoDocumento();
  
  public abstract TransaccionDAO getTransaccion();
  
  public abstract UsuarioDAO getUsuario();
  
  public abstract VentaDAO getVenta();
  
  
}
